package com.ztgf.sys.models.dto;

import com.baomidou.mybatisplus.annotations.TableName;
import com.ztgf.common.dto.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 平台开票DTO
 *
 * @author liyang
 * @Date 2021-05-26 11:50:37
 */
@Data
@TableName("sys_invoice")
@ApiModel(value="平台开票对象", description="平台开票对象")
public class SysInvoiceDTO extends BaseDTO implements Serializable {

    @ApiModelProperty(value = "乐观锁")
    private Integer revision;
    @ApiModelProperty(value = "创建人")
    private Long createUserId;
    @ApiModelProperty(value = "更新人")
    private Long updateUserId;
    @ApiModelProperty(value = "卖家店铺id")
    private Long shopId;
    @ApiModelProperty(value = "发票状态 0开票失败，1开票成功")
    private Integer status;
    @ApiModelProperty(value = "类型 0纸质发票，1电子发票")
    private Integer type;
    @ApiModelProperty(value = "发票类型 1普票，0专票")
    private Integer invoiceType;
    @ApiModelProperty(value = "发票类型：0物流费，1技术服务费")
    private Integer priceType;
    @ApiModelProperty(value = "发票公司名称")
    private String invoiceCompanyName;
    @ApiModelProperty(value = "发票纳税人识别号")
    private String taxpayerId;
    @ApiModelProperty(value = "发票公司地址")
    private String companyAdress;
    @ApiModelProperty(value = "发票公司电话")
    private String companyPhone;
    @ApiModelProperty(value = "发票开户行")
    private String bankAddress;
    @ApiModelProperty(value = "发票银行卡号")
    private String bankCardNo;
    @ApiModelProperty(value = "发票图片")
    private String invoiceUrl;
    @ApiModelProperty(value = "平台公司名称")
    private String adminInvoiceCompanyName;
    @ApiModelProperty(value = "平台纳税人识别号")
    private String adminTaxpayerId;
    @ApiModelProperty(value = "平台公司地址")
    private String adminCompanyAdress;
    @ApiModelProperty(value = "平台公司电话")
    private String adminCompanyPhone;
    @ApiModelProperty(value = "平台开户行")
    private String adminBankAddress;
    @ApiModelProperty(value = "平台银行卡号")
    private String adminBankCardNo;
    @ApiModelProperty(value = "收票人姓名")
    private String receivingName;
    @ApiModelProperty(value = "收票人手机")
    private String mobile;
    @ApiModelProperty(value = "收票人邮箱")
    private String email;
    @ApiModelProperty(value = "收票地址")
    private String receivingAddress;
    @ApiModelProperty(value = "发票货物或应税劳务名称")
    private String invoiceContent;
    @ApiModelProperty(value = "发票单位")
    private String unit;
    @ApiModelProperty(value = "发票数量")
    private Integer number;
    @ApiModelProperty(value = "发票单价")
    private BigDecimal price;
    @ApiModelProperty(value = "发票金额")
    private BigDecimal invoicePrice;
    @ApiModelProperty(value = "备注")
    private String remarks;
    @ApiModelProperty(value = "邮政编码")
    private String postalCode;
    @ApiModelProperty(value = "区域id")
    private Long areaId;
    @ApiModelProperty(value = "发票代码")
    private String invoiceCode;
    @ApiModelProperty(value = "发票编号")
    private String invoiceNumber;
    @ApiModelProperty(value = "物流类型,0选择物流,1自己联系物流")
    private Integer logisticsType;
    @ApiModelProperty(value = "物流公司名称/送货员姓名")
    private String companyName;
    @ApiModelProperty(value = "物流单号/送货员联系电话")
    private String numberPhone;
    @ApiModelProperty(value = "税率，/100")
    private Integer taxRate;
    @ApiModelProperty(value = "税额=发票金额*税率/100")
    private BigDecimal taxRatePrice;
    @ApiModelProperty(value = "选择开票的ids,以逗号间隔")
    private String invoiceIds;
    @ApiModelProperty(value = "状态：0买家，1卖家")
    private Integer sellOrBuyType;

}